/*! *********************************************************************************
 * \addtogroup BLE
 * @{
 ********************************************************************************** */
/*! *********************************************************************************
* Copyright 2015 Freescale Semiconductor, Inc.
* Copyright 2016-2018, 2020-2023 NXP
*
*
* \file
*
* SPDX-License-Identifier: BSD-3-Clause
********************************************************************************** */

#ifndef BLE_HOST_TASKS_H
#define BLE_HOST_TASKS_H

/************************************************************************************
*************************************************************************************
* Include
*************************************************************************************
************************************************************************************/
#include "EmbeddedTypes.h"
#include "fsl_component_messaging.h"
#include "fsl_os_abstraction.h"
#include "ble_general.h"

/************************************************************************************
*************************************************************************************
* Public memory declarations
*************************************************************************************
************************************************************************************/
/*! App to Host message queue for the Host Task */
extern messaging_t   gApp2Host_TaskQueue;
/*! HCI to Host message queue for the Host Task */
extern messaging_t   gHci2Host_TaskQueue;
/*! Event for the Host Task Queue */
extern OSA_EVENT_HANDLE_DEFINE(gHost_TaskEvent);

/************************************************************************************
*************************************************************************************
* Public prototypes
*************************************************************************************
************************************************************************************/

/************************************************************************************
*************************************************************************************
* Public type definitions
*************************************************************************************
************************************************************************************/
#ifdef __cplusplus
extern "C" {
#endif

/*! *********************************************************************************
* \brief  Contains the Host Task logic.
*
* \remarks This function must be called exclusively by the Host Task code
* from the application.
*
********************************************************************************** */
void Host_TaskHandler(void * args);

#ifdef __cplusplus
}
#endif

#endif /* BLE_HOST_TASKS_H */

/*! *********************************************************************************
* @}
********************************************************************************** */
